package org.kfive.nova.design.structture.bridge;

/**
 * Created by admin on 2017-03-04.
 * 桥接模式将抽象和实现解耦，使得两者可以独立的变化。
 * Abstraction--抽象化角色，主要职责是定义该角色的行为，同时保存一个对实现化角色的引用，该角色一般是抽象类
 * Implementor--实现化角色，它是接口或者抽象类，定义角色必须的行为和属性
 * RefinedAbstraction--修正抽象化角色，它引用实现化角色对抽象化角色进行修正
 * ConcreteImplementor--具体实现化角色，它实现接口或者抽象类定义的方法或属性
 */
public class Client {

    public static void main(String[] args) {
        AbstractCar car = new Bus();
        car.setRoad(new Street());
        car.run();
    }
}
